package utils

import "fmt"

type Error struct {
	Msg string
}

func (e *Error) Error() string {
	return e.Msg
}

func (e *Error) Is(target error) bool {
	_, ok := target.(*Error)
	return ok
}

func NewError(msg string) *Error {
	return &Error{Msg: msg}
}

func NewErrorf(format string, args ...interface{}) *Error {
	return &Error{Msg: fmt.Sprintf(format, args...)}
}
